package com.imooc.sell.dto;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.imooc.sell.Enums.OrderStatusEunm;
import com.imooc.sell.Enums.PayStatusEnum;
import com.imooc.sell.dataobject.OrderDetail;
import com.imooc.sell.util.serializer.Data2LongSerializer;
import lombok.Data;

import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @Author 小柯
 * @Date 2019/6/30  1:06
 **/
@Data
//@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)  已过时
//@JsonInclude(JsonInclude.Include.NON_NULL) //排除掉为空的字段 不返回给前端
public class OrderDto {

    /** 订单Id*/
    private String orderId;//*-    private String  buyerName;
    /** 买家名字*/
    private String buyerName;
    /** 买家电话*/
    private String buyerPhone;
    /**买家地址 */
    private String buyerAddress;
    /**买家微信openid */
    private String buyerOpenid;
    /** 订单总金额*/
    private BigDecimal orderAmount;
    /**订单状态, 默认为新下单 */
    private Integer orderStatus = OrderStatusEunm.NEW.getCode();
    /**支付状态, 默认未支付 */
    private Integer payStatus = PayStatusEnum.WAIT.getCode();
    /** 创建时间 */
    @JsonSerialize(using = Data2LongSerializer.class)  //使用某某某类
    private Date createTime;
    /** 修改时间 */
    @JsonSerialize(using = Data2LongSerializer.class)
    private Date updateTime;

    /** @Transient  数据库对应忽略 防止报错  一般不建议这么使用 ，应该建立一个DTO */
    private List<OrderDetail> orderDetailList;
}
